package com.dhecp.project.system.service;

import java.util.List;
import java.util.Map;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.system.domain.SysUserAndRoleFieldStandard;

/**
 * 字段隐藏权限设置
 * @author DH-Xxj
 * @version 2021年9月8日
 */
public interface SysUserAndRoleFieldStandardService {


	/**
	 * 查询指定用户或角色字段隐藏权限
	 * @param moduleTable 必要参数：功能唯一标识【针对全局（非指定功能）设置时默认值：ALL】
	 * @param pid 必要参数：用户编号或角色guid
	 * @param vtype 必要参数：用户或角色类型（user：用户，role：角色）
	 * @param fieldHidden 必要参数：权限类型（0：显示，1：隐藏）
	 * @return List - SysUserAndRoleFieldStandard
	 * @author DH-Xxj
	 */
	List<SysUserAndRoleFieldStandard> queryFieldStandard(Map<String,Object> params);

	/**
	 * 设置指定用户或角色字段隐藏权限
	 * @param moduleName  可选参数：功能名称
	 * @param moduleTable 必要参数：功能唯一标识【针对全局（非指定功能）设置时默认值：ALL】
	 * @param pid 必要参数：用户编号或角色guid
	 * @param vtype 必要参数：用户或角色类型（user：用户，role：角色）
	 * @param fieldHidden 必要参数：权限类型（0：显示，1：隐藏）
	 * @param infoItems 必要参数：用户及角色字段隐藏权限表对应实体类的json格式字符串（包含：fieldStandardId【全局变量编码】,fieldStandardName【全局变量名称】）
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult saveUserAndRoleFieldStandard(Map<String, Object> params);

}